//package com.junqson.je.user.controller;
//
//import com.junqson.je.common.model.ApiResult;
//import com.junqson.je.common.model.dto.MailDTO;
//import com.junqson.je.user.client.MsgClient;
//import com.junqson.je.user.repo.UserRepo;
//import com.junqson.je.user.utils.MailTemplateUtil;
//import freemarker.template.TemplateException;
//import org.apache.commons.lang3.RandomStringUtils;
//import org.springframework.beans.factory.annotation.Autowired;
//import org.springframework.beans.factory.annotation.Value;
//import org.springframework.data.redis.core.RedisTemplate;
//import org.springframework.data.redis.core.StringRedisTemplate;
//import org.springframework.web.bind.annotation.RequestMapping;
//import org.springframework.web.bind.annotation.RestController;
//
//import javax.servlet.http.Cookie;
//import javax.servlet.http.HttpServletResponse;
//import java.io.IOException;
//import java.util.HashMap;
//import java.util.Map;
//
///**
// * @Descriptions
// * @Company
// * @Author Junqson
// * @Date 2020/1/19 16:13
// * @Version 1.0
// */
//@RestController
//@RequestMapping("/test")
//public class UserTestController {
//
//
//    @Autowired
//    UserRepo userRepo;
//
//    @Autowired
//    StringRedisTemplate template;
//
//    @Autowired
//    RedisTemplate redisTemplate;
//
//    @Autowired
//    MsgClient client;
//
//    @Value("${server.port}")
//    String port;
//
//    @RequestMapping("redis")
//    public String testRedis() {
//        template.opsForValue().set("name", "junqson");
//        String name = template.opsForValue().get("name");
//        System.out.println(name);
//        Map<String, String> mmp = new HashMap<>();
//        mmp.put("name", "junqson");
//        mmp.put("age", "12");
//        redisTemplate.opsForValue().set("mmp", mmp);
//        return name;
//    }
//
//
//    @RequestMapping("port")
//    public String port() {
//        return port;
//    }
//
//    @RequestMapping("code")
//    public boolean testCode(String phone) {
//        String code = RandomStringUtils.randomNumeric(6);
//        String redisKey = "VC_" + phone;
//        template.opsForValue().set(redisKey, code);
//        return client.sendCode(phone, code);
//    }
//
//
//    @RequestMapping("verify")
//    public String verify(String phone, String code) {
//        String redisKey = "VC_" + phone;
//        String vc = template.opsForValue().get(redisKey);
//        if (code.equals(vc)) {
//            template.delete(redisKey);
//            return "成功";
//        }
//        return "失败";
//    }
//
//
//    @RequestMapping("cookie")
//    public String setCookie(HttpServletResponse response) {
//        String id = RandomStringUtils.randomNumeric(6);
//        Cookie cookie = new Cookie("id", id);
//        response.addCookie(cookie);
//        return "true";
//    }
//
//    @RequestMapping("null")
//    public String nulltest() {
//        throw new NullPointerException();
//    }
//
//    @RequestMapping("rootcookie")
//    public String rootCookie(HttpServletResponse response) {
//        Cookie rootc = new Cookie("rootc", "123");
//        rootc.setPath("/");
//        response.addCookie(rootc);
//        return "true";
//    }
//
//    @Autowired
//    MailTemplateUtil mailTemplateUtil;
//
//    @RequestMapping("testmailt")
//    public ApiResult testMailTemplate() throws IOException, TemplateException {
//
//        Map<String, Object> param = new HashMap<>();
//        param.put("reason", "this is reason");
//        param.put("username", "junqson");
//
//        MailDTO dto = mailTemplateUtil.getMailDTO(MailTemplateUtil.AUTH_FAILED, "23", param);
//
//        System.out.println(dto.getText());
//        return ApiResult.success();
//
//
//    }
//
//}
